package 框架学习.SpringBoot.原理.Bean的管理.手动获取bean对象;

/**
 * SpringIOC容器中Bean的管理——手动获取bean对象<p>
 * 详见项目<a href="">springboot-control-of-bean</a>
 */
public class index {
    /**
     * 首先我们可以用springboot中的@Component及其衍生注解来将类、接口交给IOC容器管理<p>
     * 然后可以通过@Autowired来注入Bean对象（依赖注入——DI）<p></p>
     * <p>
     * 这里我们主要着力于Bean的其他细节<p></p>
     * <p>
     * 1、如何从IOC容器中手动获取Bean对象<p>
     * 默认情况下，Spring项目启动时，会自动创建IOC容器（Spring容器），并且会把bean都创建好并放在IOC容器中<p>
     * 如果想要主动获取这些bean，可以通过如下方式：<p>
     * 1、根据name获取bean：<p>
     * Object getBean(String name)<p></p>
     * 2、根据类型获取bean：<p>
     * {@code <T>} T getBean(Class{@code <T>} requiredType)<p></p>
     * 3、根据name获取bean（带类型转换）：<p>
     * {@code <T>} T getBean(String name, Class{@code <T>} requiredType)<p></p>
     *
     * 需要注意的是<p>
     * 从IOC容器中获取出来的同一类型的bean对象都是一样的<p>
     * IOC容器中同一类型的bean对象只有一个<p>
     * 也就是说，默认情况下这个bean对象是单例的<p></p>
     * <p>
     * 不过我们可以通过一些操作来将其设置为非单例的：详见bean的作用域<p>
     *
     * @param args
     */
    public static void main(String[] args) {

    }
}
